﻿using ArtMath.Core.Data;
using System;
using System.Drawing;
using System.Windows.Forms;

namespace ArtMath.AuxiliaryTool
{
    public enum EraserType
    {
        Point,
        Region,
    }
    public abstract class ToolBase
    {
        public virtual void Paint(Graphics gra)
        {

        }
        public virtual void MouseDown(MouseEventArgs e)
        {

        }
        public virtual void MouseMove(MouseMoveEventArgs e)
        {

        }
        public virtual void MouseUp(MouseEventArgs e)
        {

        }
        public virtual void Complete()
        {

        }
    }
    public class MouseMoveEventArgs : MouseEventArgs
    {
        public SizeD POffset { get; }
        public MouseMoveEventArgs(PointD currentPos, MouseButtons btn, SizeD Poffset) : base(currentPos, btn)
        {
            POffset = Poffset;
        }
    }
    public class MouseEventArgs : EventArgs
    {
        public PointD CurrentPosition { get; }
        public MouseButtons Button { get; }
        public MouseEventArgs(PointD currentPos, MouseButtons btn)
        {
            CurrentPosition = currentPos;
            Button = btn;
        }
    }
}
